
/**
 * @file ECOMModel.hpp
 * Class to do SRP calculation with ECOM model.
 */

#ifndef ECOM_MODEL_HPP
#define ECOM_MODEL_HPP

#include "SRPModel.hpp"


namespace gpstk
{
    /** @addtogroup GeoDynamics */
    //@{

    /** Class to do SRP calculation with ECOM model.
     */
    class ECOMModel : public SRPModel
    {
    public:

        /// Default constructor
        ECOMModel() {};

        /// Default destructor
        virtual ~ECOMModel() {};


        /** Compute acceleration (and related partial derivatives) of SRP.
         * @param tt        TT
         * @param orbits    orbits
         */
        virtual void Compute( const CommonTime& tt,
                              const satVectorMap& orbits );

        /// Return the force model name
        inline virtual std::string modelName() const
        { return "ECOMModel"; }

    }; // End of class 'ECOMModel'

    // @}

}  // End of namespace 'gpstk'

#endif   // ECOM_MODEL_HPP
